package com.ergwang.utils;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

/**
 * Creat by ergWang
 * Date: 2020/5/28
 * Time: 09:24
 */
public class DruidUtils {
    public static DataSource dataSource;
    // 静态代码块，在此类加载时执行
    static {
        // 通过反射获取配置文件中的数据库配置
        Properties properties = new Properties();

        // 通过反射将数据库连接池的配置文件导入到DruidUtils中，
        InputStream resourceAsStream = DruidUtils.class.getClassLoader().getResourceAsStream("druid.properties");

        try {
            properties.load(resourceAsStream);
            dataSource = DruidDataSourceFactory.createDataSource(properties);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    // 后面这两个又是什么鬼。。获取连接池中的连接？ 获取数据库中的数据？

    public static DataSource getDataSource(){
        return dataSource;
    }


    public static Connection getConnection() throws SQLException {
        return dataSource.getConnection();
    }
}
